<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //给你一个整数数组 `nums` ，找到其中最长严格递增子序列的长度。
        function lengthOfLIS(nums) {
            //数组长度
            let length = nums.length
            //最大长度，先设为1，每一项
            let maxLength = 1
            //存储最优解的数组
            let dp = []
            //外层循环比较  每一项的最优解和最大长度比较
            for (let i = 0; i < length; i++) {
                //每一项的最优解数组，初始设为1，自己一个
                dp[i] = 1
                //内层循环比较计算当前项的最优解  当前项的值和前面每一项的值，决定要不要加一
                for (let j = 0; j < i; j++) {
                    if (nums[i] > nums[j]) {
                        //用来计算当前项的最优解，和之前的每一项最优解对比
                        dp[i] = Math.max(dp[i], dp[j] + 1)
                    }
                }
                //最后比较所有的
                maxLength = Math.max(maxLength, dp[i])
            }
            console.log(maxLength);
        }


        let nums = [7, 7, 7, 7, 7, 7, 7]
        lengthOfLIS(nums)
    </script>
</body>

</html>